The present invention generally relates to management of applications.
Enterprises can use distributed systems comprised of many applications to carry out day-to-day operations. Applications in the distributed systems can themselves be distributed and spread across many computers connected by a network. Such distributed systems have proven successful in providing enterprise users with effective processing of large amounts of data in a short duration of time.
Although distributed applications provide efficient and powerful tools to an enterprise, the complexities, and intricacies of the distributed architecture make the integration and operations of such applications very difficult. Enterprises have addressed application integration issues by using Enterprise Application Integration (EAI) platforms. EAI platforms have been used for the integration of Customer Relations Management (CRM), Supply Chain Management (SCM), Enterprise Resource Planning (ERP) and many other large and important applications of an enterprise. Once integrated, such large and complex applications are equally difficult to manage. Indeed, once an application is deployed on a distributed system, it becomes extremely difficult to judge where the bottlenecks of the application may be located and how to “troubleshoot” the same.
The issues of integration and management of applications have been further exacerbated due to the emergence of electronic business (often called e-business). With the emergence of the Internet and with advances in wired as well as wireless communications, there has been a revolutionary change in business dynamics, as a result of which, many operational boundaries between enterprises have virtually become non-existent. Further, emergence of e-business has facilitated business collaborations wherein enterprises exchange real-time product, services, and market information with their partners, manufacturers, suppliers, transporters, and customers. As expected, such collaboration, interoperability and integration of various applications usually leads to a much harder task of identifying, analyzing and troubleshooting issues related to components and improving enterprise's efficiency.
It is therefore very important for enterprises to not only integrate large applications, but effectively manage them as well because even a small inefficiency in an application can result in tremendous economic and operational loss for the enterprise. For instance, a minor inefficiency in an ERP application can have a tremendous impact on the operation of the entire business of an enterprise. An ERP application not only impacts the way companies do business, but also impacts the productivity of a large number of employees using these applications, which in turn is largely dependent on other computational components.
Enterprises have relied on a combination of skilled human administrators and a plethora of application management tools for regularly monitoring and debugging issues associated with the components that comprise their applications.